package com.gollum.system.domain.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gollum.common.domain.request.GollumRequest;
import com.gollum.system.domain.model.SysPost;
import com.gollum.system.domain.model.SysRole;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.util.Date;

/**
 * 用户请求
 *
 * @author Herther
 * @createTime 2022年10月08日 20:50:00
 * @since 1.0.0
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain=true)
@ApiModel(value = "用户参数接收对象")
public class SysUserRequest extends GollumRequest {


    private static final long serialVersionUID = 1L;

    /** 用户账号 */
    @ApiModelProperty(value = "用户账号",name = "username")
    private String username;

    /** 用户昵称 */
    @ApiModelProperty(value = "用户昵称",name = "nickName")
    private String nickName;

    /** 用户邮箱 */
    @ApiModelProperty(value = "用户邮箱",name = "email")
    private String email;

    /** 手机号码 */
    @ApiModelProperty(value = "手机号码",name = "mobile")
    private String mobile;

    /** 用户性别 0=男,1=女,2=未知 */
    @ApiModelProperty(value = "用户性别 0=男,1=女,2=未知",name = "sex")
    private String sex;

    /** 用户头像 */
    @ApiModelProperty(value = "用户头像",name = "avatar")
    private String avatar;

    /** 密码 */
    @ApiModelProperty(value = "密码",name = "password")
    private String password;

    /** 帐号状态（0正常 1停用） */
    @ApiModelProperty(value = "帐号状态",name = "status")
    private String status;

    /** 最后登录时间 */
    @ApiModelProperty(value = "帐号状态",name = "status")
    private Date loginDate;

    /** 生日 **/
    @ApiModelProperty(value = "生日",name = "birthday")
    private Date birthday;

    /** 用户类型 **/
    @ApiModelProperty(value = "用户类型",name = "userType")
    private String userType;

    /** 真实姓名 **/
    @ApiModelProperty(value = "真实姓名",name = "realName")
    private String realName;


    /** 是否是超级管理员 0 非超管 1 超管 **/
    private String hasAdmin;

    /** 部门ID  **/
    @ApiModelProperty(value = "部门ID",name = "deptId")
    private Long deptId;

}
